#include "KPShader.h"

#include <string.h>

KPShader::KPShader(u32 id, const char* kszSource) : KPGLObject(id), m_szSource(NULL)
{
	if (!kszSource) return;
	int len = strlen(kszSource);
	if (len <= 0) return;

	m_szSource = new char[len + 1];
	strcpy(m_szSource, kszSource);
}

KPShader::~KPShader()
{
	SAFE_DEL_ARRAY(m_szSource);
}

void KPShader::setSource(const char* kszSource)
{
	if (!kszSource) return;
	int len = strlen(kszSource);
	if (len <= 0) return;

	SAFE_DEL_ARRAY(m_szSource);
	m_szSource = new char[len + 1];
	strcpy(m_szSource, kszSource);
}

void KPShader::clearData()
{
	SAFE_DEL_ARRAY(m_szSource);
}

KPMessage* KPShader::toMessage()
{
	KPMessage* msg = new KPMessage();
	msg->m_type = KMT_OBJECT_SHADER;
	// TODO
	return msg;
}
